package com.cke.yang.security.domain.repository;

import com.cke.yang.common.infra.enums.SaveActionEnum;
import com.cke.yang.security.api.dto.request.SecUserListRequest;
import com.cke.yang.security.domain.entity.SecUser;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.List;
import java.util.Optional;

public interface SecUserRepository {

    List<SecUser> list(SecUserListRequest param);

    SecUser save(SaveActionEnum action, SecUser secUser);

    Optional<UserDetails> findByUsername(String username);

    SecUser findById(Long userId);

    void updatePassword(Long userId, String encodedPassword);

}
